﻿using System.ComponentModel;

namespace TamoCRM.Core
{
    public enum StatusType
    {
        Form = 1,
        ImportExcel = 2,
        HandoverToDistributor = 3,
        PrintedForCollaborator = 4,
        HandedoverToConsultant = 5,
        AcceptedL1FromCollaborator = 6,
        AcceptedL2FromCollaborator = 7,
        ContactReturn = 8,
        ContactRecovered = 9,
        ContactReuse = 10,
    }

    public enum TodayType
    {
        All = 1,
        New,
        Appointment,
        NewAndAppointment,
    }

    public enum SourceType
    {
        CC = 3,
        MO = 4,
        ReUse = 5,
        HotlineMO = 6,
        HOT = 7,
        HV = 8,
        TVTS = 9,
    }

    public enum SourceTypeMap
    {
        HOTLINE = 1,
        HOTLINE_MO = 2, 
        HV = 3,
        TVTS = 4,
    }

    public enum DiviceType
    {
        Same = 1,
        Ratio = 2,
        Enough = 3,
    }

    public enum LevelType
    {
        L0 = 0,
        L1 = 1,
        L2 = 2,
        L3 = 3,
        L4 = 4,
        L5A = 5,
        L5B = 6,
        L6 = 7,
        L7 = 8,
        L8 = 9,
        L9 = 10,
    }

    public enum AppointmentType
    {
        Direct = 1,
        InDirect = 2,
        Other = 3,
    }

    public enum SubmitedProfileType
    {
        Applied = 1,
        AppliedNotEnough = 2,
        NotApplied = 3,
    }

    public enum StatusCareType
    {
        UnKnown = 1,
        ContinueCare = 2,
        ContinueCareTime = 3,
        DontCall = 4,
    }

    public enum StatusMapUsedBy
    {
        Importer = 1,
        Distributor = 2,
        Tvts = 3,
    }

    public enum LogFunctionType
    {
        // Nghiệp vụ chính
        ImportExcel = 1,
        CreateContactTvts = 2,
        CreateContactHotline = 3,
        HandoverToDistributor = 4,
        PrintedForCollaborator = 5,
        AcceptedL1FromCollaborator = 6,
        AcceptedL2FromCollaborator = 7,
        HandedoverToConsultant = 8,
        CareContact = 9,

        // Nghiệp vụ thêm
        FixErrorContact = 101,
        RecoveryContact = 102,
        ReuseContact = 103,
        SearchManager = 104,
    }

    public enum LogPropertyType
    {
        // Contacts
        Contacts_User = 1,
        Contacts_Type = 2,
        Contacts_School = 3,
        Contacts_Level = 4,
        Contacts_Channel = 5,
        Contacts_Branch = 6,
        Contacts_Status = 7,
        Contacts_AppointmentDate = 8,
        Contacts_HandoverDate = 9,
        Contacts_CallDate = 10,
        Contacts_RecoveryDate = 11,
        Contacts_ReuseDate = 12,
        Contacts_StatusCare = 13,
        Contacts_StatusMap = 14,
        Contacts_MobilePhone1 = 15,
        Contacts_MobilePhone2 = 16,
        Contacts_Tel = 17,
        Contacts_Email = 18,
        Contacts_SchoolCare = 19,
        Contacts_StatusMapDistributorId = 20,
        Contacts_AcceptDateL1 = 21,
        Contacts_AcceptDateL2 = 22,

        // User
        User_IsActive = 100,
        User_Norms = 101,
    }

    public enum LogObjectType
    {
        User = 1,
        Contact = 2,
    }
    public enum ReportType
    {
        Pdf = 1,
        Excel = 2,
    }

    public enum DayReportType
    {
        [Description("Theo Ngày")]
        Day = 1,
        [Description("Theo Tuần")]
        Week = 2,
        [Description("Theo Tháng")]
        Month = 3,
        [Description("Theo Năm")]
        Year = 4,
        [Description("Theo Chốt")]
        Latch = 5,
        [Description("Theo Gộp")]
        Lumped = 6,
    }

    public enum GroupType
    {
        [Description("Nhóm Nhân viên")]
        TVTS = 1,
        [Description("Nhóm Leader")]
        LeaderTVTS = 2,
        [Description("Nhóm Manager")]
        ManagerTVTS = 3,
    }

    public enum StatusConnectType
    {
        [Description("Chưa xác định")]
        Unknown = 1,
        [Description("Kết nối được")]
        Connect = 2,
        [Description("Không kết nối được")]
        DontConnect = 3,
    }

    public enum CampainType
    {
        [Description("Nháy số")]
        Flash = 1,
        [Description("CTV gọi")]
        Call = 2,
    }

    public enum ErrorMissCallType
    {
        Success = 0,
        NullOrEmpty = 1,
        NotFormat = 2,
        Exception = 3,
    }

    public enum CallType
    {
        Outcoming = 0,
        MissCall = 1,
        Incoming = 2,
        NoCall = 4,
    }

    public enum AppointmentCallType
    {
        [Description("Đã gọi lại")]
        Called = 1,
        [Description("Chưa gọi")]
        NotCall = 2,
    }
}